// for in  循环老方法

const o = {name:'刻晴',age:20}

for(let k in o){
    console.log(k)  // 属性  name  age
    console.log(o[k]) // 值  刻晴  20
}


// const o1 = new Object()
// // 方法的区分
// o1.toString() // 实例方法

// Object.values() // 静态方法


// 新方法  Object.keys()  获取对象所有的键
const keys = Object.keys(o)
console.log(keys) // [ 'name', 'age' ]

// 新方法 Object.values()  获取对象所有的值
const values = Object.values(o)
console.log(values) // [ '刻晴', 20 ] 

// 拷贝对象 

//  老方法拷贝
const o2 = {}
for(let k in o){
   o2[k] = o[k]
}
console.log(o2) // { name: '刻晴', age: 20 }

// 新方法  Object.assign()  目标对象   源对象
const o3 = {} 
console.log(Object.assign(o3,o)) // { name: '刻晴', age: 20 }

// 再次简化
console.log(Object.assign({},o)) //{ name: '刻晴', age: 20 }